package edu.cgpi.core.util;

import edu.cgpi.core.entidade.Ponto;
import edu.cgpi.core.entidade.Retangulo;

public class Redimensionador {

	public static Ponto redimensionar(Ponto pontoOriginal, Retangulo janelaOriginal, Retangulo janelaDestino) {
		double x = redimensionar(pontoOriginal.getX(), janelaDestino.obterLocalizacao().getX(), janelaOriginal.obterLocalizacao().getX(), janelaOriginal.obterLargura(), janelaDestino.obterLargura());
		double y = redimensionar(pontoOriginal.getY(), janelaDestino.obterLocalizacao().getY(), janelaOriginal.obterLocalizacao().getY(), janelaOriginal.obterAltura(), janelaDestino.obterAltura());

		return new Ponto(x, y);
	}
	
	private static double redimensionar(double coordenadaOriginal, double coordMinDestino, double coordMinOriginal, double espacoJanelaOriginal, double espacoJanelaDestino) {
		return coordMinDestino + (coordenadaOriginal - coordMinOriginal) * espacoJanelaDestino / espacoJanelaOriginal;
	}
}